import java.util.PriorityQueue;

class Solution1046 {
    public int lastStoneWeight(int[] stones) {
         PriorityQueue<Integer> queue = new PriorityQueue<>((o1, o2)->o2-o1) ;
         for(int i : stones){
            queue.add(i);
         }
         while(queue.size() > 1){
            int a = queue.poll() ;
            int b = queue.poll() ;
            if(a > b){
                queue.add(a-b) ;
            }
         }

      return queue.size() == 0 ? 0 :queue.poll() ;
    }

}